package com.eedi.framework.tenant.controller.sys.vo.tenant;

import com.eedi.framework.common.enums.CommonStatusEnum;
import com.eedi.framework.common.validation.AddGroup;
import com.eedi.framework.common.validation.UpdateGroup;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

@Schema(description = "系统界面 - 租户修改 Request VO")
@Data
public class TenantUpReq {
    @Schema(description = "租户编号", example = "1024")
    @NotEmpty(message = "ID不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantId;

    @Schema(description = "租户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "永聚长青")
    @NotEmpty(message = "租户名不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantName;

    @Schema(description = "联系人", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "联系人不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantContactName;

    @Schema(description = "联系手机", example = "16657113434")
    @NotEmpty(message = "联系手机不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantContactMobile;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "状态不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private CommonStatusEnum sysTenantStatus;

    @Schema(description = "登录绑定域名", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "登录绑定域名不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantWebsite;

    @Schema(description = "系统地址省编码")
    @NotEmpty(message = "系统地址省编码不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantProvinceCode;

    @Schema(description = "系统地址省名称", example = "黑龙江省")
    @NotEmpty(message = "系统地址省名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantProvinceName;

    @Schema(description = "系统地址城市编码")
    @NotEmpty(message = "系统地址城市编码不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantCityCode;

    @Schema(description = "系统地址城市名称", example = "哈尔滨市")
    @NotEmpty(message = "系统地址城市名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantCityName;

    @Schema(description = "系统地址区县编码")
    @NotEmpty(message = "系统地址区县编码不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantCountyCode;

    @Schema(description = "系统地址区县名称", example = "南岗区")
    @NotEmpty(message = "系统地址区县名称不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantCountyName;

    @Schema(description = "系统详细地址")
    @NotEmpty(message = "系统详细地址不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String sysTenantDetailAddress;

    @Schema(description = "过期时间")
    private LocalDateTime expireTime;
}
